package cn.minhx.lab.design_patterns.factory_method.f2.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;

import java.util.Arrays;

/**
 * @author merrick.peng
 */
@Getter
@AllArgsConstructor
public enum PrizeTypeEnum {

    /**
     * 实物商品
     */
    GOODS("实物商品", 1),
    /**
     * 优惠券
     */
    COUPON("优惠券", 2),
    /**
     * 卡券
     */
    CARD("卡券", 3);

    private final String name;
    private final Integer value;

    public static PrizeTypeEnum valueOf(Integer value) {
        return Arrays.stream(values()).filter(prizeType -> prizeType.getValue().equals(value))
                .findFirst().orElse(null);
    }

}
